#! /usr/bin/python
# -*- encoding: utf-8 -*-
#
# $AIST_Release: 0.9.0 $
# Copyright 2011 Information Technology Research Institute, National
# Institute of Advanced Industrial Science and Technology
# 
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# 
#    http://www.apache.org/licenses/LICENSE-2.0
# 
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#

import sys
import subprocess
import os
import struct

def input2bytes(data):

    proto_file = "aggr/src/main/protobuf/table.proto"

    p = subprocess.Popen(["protoc", "--encode=sc.Table", proto_file], 
            stdin=subprocess.PIPE,
            stdout=None,
            stderr=None,
            close_fds=True)

    for d in data:
        p.stdin.write("data {\n")
        p.stdin.write("    key: \"\"")
        p.stdin.write("    value: \"" + repr(d)[1:-1].replace("\"", r"\"").replace("\'", r"\'") + "\"\n")
        p.stdin.write("}\n")

    p.stdin.close()

data = [ 1.0, 2.0, 10.0, 32.0, 77.0, 23.0 ]

def dobule_pack(dn):
    return struct.pack("<d", dn)

input2bytes(map(dobule_pack, data))
